﻿#ifndef _MYJSONDATA_H_
#define _MYJSONDATA_H_

#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
#include <QJsonValue>


class MyJsonData
{
private:
	mutable QJsonDocument	m_jdoc;	//可被修改的
	QJsonObject		m_jobj;				

public:
	MyJsonData();

	QByteArray toJson() const;
	static MyJsonData fromJson(const QByteArray& json);
	void setObject(const QJsonObject& object);

	void addValue(const QString& key, double value);
	void addValue(const QString& key, int value);
	void addValue(const QString& key, const QString& value);
	void addValue(const QString& key, const QStringList& value);
	void addValue(const QString& key, const QList<double>& value);

	bool boolValue(const QString& key);
	double doubleValue(const QString& key);
	int integerValue(const QString& key);
	QString stringValue(const QString& key);
	QList<double> numberArray(const QString& key);
	QStringList stringArray(const QString& key);

};



#endif // !_MYJSONDATA_H_
